<html>
  <head>
    <title>js语法</title>
  </head>
  <body>
    <script>
        /*
              uni-app的js API由标准ECMAScript的js API 和 uni 扩展 API 这两部分组成。

              标准ECMAScript的js仅是最基础的js。

              浏览器基于它们扩展了 window、document、navigator 等对象。

              小程序也就比标准js扩展了各种  wx.xx、my.xx、swan.xx 的API。node也扩展了fs模块。

              uni-app 基于 ECMAScript 扩展了 uni对象，并且API命名与小程序保持兼容。




              ★、标准js  和  浏览器 Js的区别

                          uni-app 的 js 代码， h5 端运行于浏览器中。

                          非h5端（包括小程序和 App），Android 平台运行在 v8引擎中，

                          IOS平台运行在 ios自带的 jscore 引擎中，都没有运行在浏览器或webview里。

                          非 H5 端，虽然不支持 window、document、navigator 等浏览器的 js API,

                          但也支持标准 ECMAScript。

                          请注意不要把浏览器里扩展的 js 扩展对象等价于标准js。

                          所以uni-app的非H5端，一样支持标准js，支持 if、for等语法，
                          
                          支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。

                          仅仅是不支持window、document、navigator等浏览器专用对象。


               ★、ES6支持

                         uni-app 在支持绝大部分 ES6 API 的同时，也支持了 ES7 的 await/async。
                         
                         ES6 API 的支持，详见如下表格部分（x 表示不支持，无特殊说明则表示支持）：

                                因为iOS上不允许三方js引擎，所以iOS上不区分App、小程序、H5，各端均仅依赖iOS版本。

                                各端Android版本有差异：

                    注意：
                          默认不需要在微信工具里继续开启es6转换。

                          但如果用了微信的wxml自定义组件（wxcomponents目录下），uni-app编译器并不会处理这些文件中的es6代码，需
                          
                          要去微信工具里开启转换。从HBuilderX调起微信工具时，如果发现工程下有wxcomponents目录会自动配置微信工程打开es6转换



                ★、App端

                      在App端JS脚本运行在独立的JS引擎中，vue页面使用系统webview渲染，nvue页面使用系统原生View渲染

                      Android平台：

                            JS脚本运行在独立Google V8引擎中，版本与Chrome83一致，因此支持的语法与Android系统版本无关，
                            
                            即便是Android4.4也与Chrome83支持的语法一样。 
                            
                            可到MDN网站查看浏览器兼容性，Chrome83支持的在Android平台也支持。

                            vue页面渲染在系统Webview中，受Android系统版本影响，
                            
                            在Android低端机上存在css浏览器兼容性问题，太新的css语法在低版本不支持。当然也可以使用x5等三方webview来拉齐实现。



                      iOS 平台 

                           S脚本运行在iOS操作系统提供的JavaScriptCore 引擎，因此支持的语法与iOS系统有关，跟iOS系统的Safari浏览器一致。 
                           
                           可到MDN网站查看浏览器兼容性，兼容性与Safari on iOS一致。

                           vue页面渲染在系统WKWebview中，受iOS系统版本影响，兼容性与iOS系统的Safari浏览器一致。

                           nvue页面使用系统原生View渲染，css支持情况参考：nvue页面样式。
        */
    </script>
  </body>
</html>